import os
from fontTools.ttLib import TTCollection

def ttc_to_ttf(ttc_path, output_dir):
    # 读取TTC文件
    ttc = TTCollection(ttc_path)
    
    # 确保输出目录存在
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    # 遍历TTC中的每个字体
    for i, ttfont in enumerate(ttc.fonts):
        # 构造输出文件名
        ttf_filename = f"font_{i}.ttf"
        ttf_path = os.path.join(output_dir, ttf_filename)

        # 保存为TTF文件
        ttfont.save(ttf_path)
        print(f"Saved {ttf_path}")

if __name__ == "__main__":
    ttc_path = "C:/Users/Administrator/Desktop/fonts/msyhbd.ttc"  # 替换为你的TTC文件路径
    output_dir = "C:/Users/Administrator/Desktop/fonts/output"  # 输出目录

    ttc_to_ttf(ttc_path, output_dir)